Color images in single chip digital cameras are obtained by interpolating mosaiced color samples. These samples are encoded in a single chip CCD by sampling the light after it passes through a color filter array (CFA) that contains different color filters (i.e. red, green, and blue) placed in some pattern. Methods for interpolating the missing sensor values are referred to as “demosaicing,” although it may also be referred to as “interpolation.”
FIG. 1 is a diagram illustrating an example color filter array (CFA). One common type of CFA is a Bayer array 1, which uses red (R), green (G), and blue (B) filters arranged in a pattern that assigns twice as many green pixels as red or blue pixels. Light passing through the array 1 results in the CCD capturing a green (G) plane, and red (R) plane, and a blue (B) plane. Each pixel location requires three separate color values, but only one color value is captured for each pixel location. The G plane contains half of the pixels, the R plane contains one-fourth of the pixels, and the B plane contains one-fourth of the pixels.
The resulting sparsely sampled images of the three-color planes are interpolated to obtain dense images of the three-color planes and, thus, the complete color image. Each green pixel needs a red and a blue value, each red pixel needs a green and a blue value, and each blue pixel needs a red and a green value. Interpolation usually introduces color artifacts (color moiré patterns) due to the phase shifted, aliased signals introduced by the sparse sampling of the CFAs. The challenge of interpolation is determining how to construct the missing pixel values from the known pixel values. The most basic demosaicing idea is to linearly and independently interpolate the R, G, and B planes. This type of interpolation, which is called linear interpolation, introduces serious aliasing artifacts. For example, interpolating a missing pixel by simply averaging the two closest pixels of a similar color may work quite well with many images, but if the image has any objects with sharp edges, color artifacts appear around the edges.
In recent years there has been a lot of interest in developing better demosaicing algorithms. In particular, the problem has been tackled from different angles including neural networks, B-splines, linear, minimized mean square estimators, frequency domain interpolators, gradient based methods, adaptive horizontal or vertical interpolation decisions, and a wide range of edge directed algorithms. One approach for improving interpolation attempts to do so by improving how to determine which direction in the image to follow when performing interpolation.
One specific example of such approach is U.S. Pat. No. 5,629,734 entitled “Adaptive Color Plan Interpolation In Single Sensor Color Electronic Camera,” issued to Hamilton et al. on May 13, 1997. The Hamilton patent describes a particular interpolation algorithm for estimating red, blue and green values for each color sensor location, or pixel. The algorithm uses Laplacian second-order values and gradient values to produce a classifier for each pixel, which are then used to indicate a preferred orientation (e.g., horizontal or vertical) for the interpolation of missing color values at each pixel. The Laplacian second-order values used to define the classifier, in turn, are determined from nearby pixels within the same row and column as the current pixel having the missing color values. For images with horizontal and vertical edges, missing green pixels are adaptively interpolated either horizontally, vertically or two-dimensionally depending upon the gradient established between the chrominance (red and blue) pixel locations in the vertical and horizontal directions around the missing green pixel.
Although the Hamilton algorithm may improve interpolation results in some images, the method for determining the interpolation direction by detecting local edges using gradients, suffers from being inaccurate and requiring significant processing time.
From a hardware point of view, Foveon™ of Santa Clara, Calif., solved the demosaicing problem by introducing the X3 image sensor which captures all three primary colors eliminating the need for demosaicing. However, the X3 sensor has not crossed every technical hurdle. Issues such as cross-talk between different colors are still a problem. With good DSP technology demosaicing will continue to play a role in the future of digital cameras, especially in low end cameras, such as those found in today's cell phones, and video.
Accordingly, what is needed is an improved method for interpolating unknown color values for pixels from known pixels values in an image by providing an improved method for determining an interpolation direction across the image. The present invention addresses such a need.